首先把之見前建立的 表staff 加入【密碼欄位】。
(為了方便,密碼都設個位數XD)
(以下憑我印象小聊一下,資訊可能有許多錯誤,還請見諒)
嚴格說,好像沒有人會這樣把密碼存在資料表,至少會用 md5 加密一下(沒記錯的話 md5 好像能推算回去,也不是最安全的 << 只要有人拿到表就還是會破功),更高階的好像是連管理員那邊都無法知道你的密碼(用公、私鑰的方法...嗎? <<拿到表,也不能怎樣),不過也有遇過剛註冊完就發送"密碼確認"到你信箱的...
首先要而外建立一個登入的頁面(我的是 login2.php)
然後是 login2.php 的 HTML
<div class="container d-flex justify-content-center align-items-center"style="min-height: 100vh">
<!--下面的FORM標籤 包含了JS name="loginn"、onsubmit="return validateForm()";
以及後續 登入PHP所指向的 logincode2.php-->
<form class="border shadow p-3 rounded"
method="POST"
action="logincode2.php"
name="loginn"
onsubmit="return validateForm()">
<div class="mb-3">
<label for="username"
class="form-label">
<h4>帳號</h4>
</label>
<input type="text"
class="form-control"
id="username"
placeholder="請輸入會員ID"
name="id">
</div>
<div class="mb-3">
<label for="password"
class="form-label">
<h4>密碼</h4>
</label>
<input type="password"
class="form-control"
id="password"
placeholder="請輸入您的密碼"
name="password">
</div>
<input type="submit"
class="btn btn-primary"
style="width: 100%; "
value="登 入"
name="btn_login"></input>
</form>
</div>
<!--防全空的JS-->
<script>
function validateForm()
{
var x = document.forms["loginn"]["username"].value;
var y = document.forms["loginn"]["password"].value;
if (x == "")
{
alert("帳號不可為空");
return false;
}
else if (y == "")
{
alert("密碼不可為空");
return false;
}
}
</script>
之後登入的東西還會需要用到 session 之類的東西,
然後也可依據 session 來判斷登入者的身分(配合 staff_role 欄位)
然後就是比較重要的東西都最好用 session 來寫,比較安全。
沒記錯的話 session 對伺服器負荷比較大,但比較安全;
cookie則相反(對伺服器甚至沒負荷,都留在客戶端那邊 <<所以也相對危險)
今天就先這樣,下次見。